package RegexTest;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
使用正则表达式校验IP地址
 */
public class VerifyIpAddress {
    static String s = "Y";
    public static void main(String[] args) {
        do {
            //声明变量，用于保存验证IP地址的表达式
            //192.168.239.238
            String regex = "(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])";
            System.out.println("请输入IP地址：");
            Scanner scanner = new Scanner(System.in);
            //接收用户的IP地址
            String ipStr = scanner.next();
            //编译正则表达式
            //输入给定的模式匹配器
            Pattern pattern = Pattern.compile(regex);
            //创建给定模式的匹配器
            Matcher matcher = pattern.matcher(ipStr);
            boolean bool = matcher.matches();
            if (bool) {
                System.out.println("IP地址正确");
                return;
            } else {
                System.out.println("IP地址错误");
                System.out.println("是否继续输入 Y/N");
            }
            s = scanner.next();
        }while (s.equalsIgnoreCase("Y"));
        System.out.println("注册结束" );





    }
}
